A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
The present invention relates to a data capture system 10 illustrated in FIG. 1 for entering data at a plurality of remote locations using means such as a plurality of portable data collection terminals 12a, b - - - n. The data capture system 10 is applicable to receive and collect a wide variety of data and has found particular application in warehouses or retail store where a data capture system 10 would be used to keep an up to date record of the products to be marketed. Typically, the system 10 would be capable of updating on a real time basis the inventory count of products, and to use stock locator data to identify where each product of the remaining inventory is stored, when a product is moved from one place to another, and which employee has current charge of that product. In addition, when a product is sold, the price and sales person who sold the product are recorded.
Such data may be inputted into a terminal 12 by means of its keyboard 13. For example, a terminal user could count the number of one type of product and enter that number via the terminal""s keyboard 13. Alternatively, data could be entered to the terminal 10 via a CCD bar code scanner 22, which is electrically coupled by a cable 20 to its terminal 12. In an illustrative embodiment of this invention, the scanner as illustratively identified in FIG. 1 by the numeral 22a and its terminal 12a could take the form of that modular scanner/terminal described in PCT international application WO90/16033 published Dec. 27, 1990. Differing types of scanners 22b and 22n could also be used with the terminals 12 and may illustratively take the form of those scanners described in U.S. Pat. Nos. 4,970,379 of Danstrom, 4,882,476 of White, 4,894,523 of Chadima, 4,877,949 of Danielson et al., 5,019,669 of Adams et al. and 4,924,462 of Sojka; International Application No. PCT/US90/03282 of Koenck et al.; and European Patent Publication No. 0 353 759 of Mahany et al.
The data capture system 10 utilizes illustratively RF transmission to bilaterally transmit data between each of the plurality of terminals 12a, b - - - n and a base radio transceiver 14. By way of example, the base radio transceiver may illustratively take the form of that model RB3000 base radio transceiver manufactured by Norand Corporation, Cedar Rapids of Iowa. In turn, the base radio transceiver 14 is connected via a communications multiplexer 16a or a communications controller 16b to a host computer 18. Illustratively, the multiplexer 16a could take the form of that model RM3200 as manufactured by Norand Corporation and the controller 16b could take the form of that controller identified as model RC2250 of Norand Corporation. The host computer 18 may illustratively be an International Business Machines Corporation PC of AT class or higher. As illustrated in FIG. 1, the host computer 18 includes a keyboard 28, a display 24 and a system unit 26.
Each of the portable data collection terminals 12a, b - - - n includes a transceiver (not shown in FIG. 1) for transmitting RF messages to and from the base radio transceiver 14. A transmitted message comprises an initialization sequence, an address indicative of the particular terminal 12a, b- or n from or to which the message is directed, a message identifier and system information, the message data and/or control commands, error control, and an end of message indication. U.S. Pat. Nos. 4,910,794; 4,924,462; and 4,940,974, each assigned to the assignee of this invention and incorporated herein by reference, provide further information on RF data collection terminals and systems.
In a RF data capture system similar to that shown in FIG. 1 known as the RT1200 system of Norand Corporation, controlled RF transmission between a plurality of terminals and a radio base is established using a communications multiplexer similar to that of the multiplexer 16a shown in FIG. 1 to provide access to a particular one of the terminals 12a, b - - - n. The RT1200 system utilizes time division multiplexing on a single frequency channel. The RT1200 communications protocol is based on a sequential polling method that transmits a query addressed to each portable terminal in succession, and allows a specified amount of time for the addressed terminal to respond when the addressed terminal has a data message ready for transmission. U.S. Pat. No. 4,940,974 describes an improved, adaptive data communications system wherein the base radio transceiver 14 transmits a multi-terminal polling signal to each of its terminals 12a, b - - - n. That multi-terminal polling signal defines a series of successive response time slots in which the terminals 12 may randomly select to respond. A terminal 12 having a message to be transmitted to the host computer 18 via the base radio transceiver 14 transmits a brief response burst in the selected time slot giving its own unique identification address. After receiving the responses from the ready terminals 12, the base radio transceiver 14 polls each of the responding terminals 12, ignoring those terminals without messages to be transmitted. This system is adaptive in that the number of time slots may be changed depending upon the number of active terminals ready to transmit data messages.
The present invention is particularly related to adapting such data capture system 10 as shown in FIG. 1 to employ distributed processing concepts. Each of the portable data collection terminals 12 has a computer processing capability in the illustrative form of a microprocessor, whereby the entire system""s processing capability may be distributed between the host computer 18 and the portable terminals 12. The system 10 is structured in accordance with a client/server architecture whereby the host computer 18 acts as a server to each of the plurality of client terminals 12, whereby programs may be dynamically loaded across that RF (or any serial) data link established between the host computer 18 and its terminals 12.
The use of distributed processing is enhanced by relational database technology and the use of Structured Query Language (SQL) developed by the International Business Machines Company to provide access to relational databases. The use of relational database technology depends on organizing data in tables (or relations); each row of the table represents a record and each column represents an attribute. Various operations may be performed on these relations and, since the mathematics of these operations is very well understood, the results are predictable. An example of these operations is the xe2x80x9cjoinxe2x80x9d, where two or more relations may be put together based on some common attribute. The advantage of this organization is that data may be easily retrieved in a form not envisioned by the designers; that is, ad hoc retrievals are quite easy to perform.
A further concept of distributed processing is to partition the system so that data is available to all network users but the data physically resides where it is most likely to be processed. This provides universal access without incurring severe communication overhead penalties. In the context of the data capture system 10 illustrated in FIG. 1, data is made available to each of the terminals 12 and to the host computer 18 by the use of the RF transmission between each of terminals 12 and the base radio transceiver 14. However, employing the concept of distributed processing would direct that more data and application programs be stored within each of the terminals 12, where such data is used or such programs executed. As a result, overhead penalties, primarily in terms of delays as would occur by the transmission of data between the terminals 12 and its host computer 18 are avoided.
In a client/server model, the server provides a general function to several client processes. Some of the more useful implementations of this concept are distributed databases, remote procedure calls and networked pipes. The distributed databases currently rely on some form of communication through Structured Query Language (SQL). These databases are comprised of front-end applications and a database server. The application interacts with the user. When database access is required, the application sends an SQL request to the database server which services the request across a network. This allows most of the processing to be done locally, but provides for a central data store that may be shared by many distributed users.
The remote procedure call concept allows systems to become specialized servers so that many applications may use their specialized hardware. To access these remote services, the application program makes a procedure call that is like any procedure call to the program""s code. The difference is that the call results in a request to a remote system to provide the computation designated by the call.
The concept of xe2x80x9cpipesxe2x80x9d relates to supplying the output of one process to the input of another process. If the two processes are on different computers then this becomes a method of distributed processing. A variant of this method is the named pipe which allows select output to be input to another process over a named connection. This is the primary method of distributed inter-process communications with an OS/2 LAN Manager.
The efficient transmission of data to a remote terminal of a system is key to distributed processing. IBM""s solution is their Distributed Data Management (DDM) protocols. These are a set of published IBM protocols that describe how to access files and databases on a remote system. IBM also developed a System Application Architecture (SAA) with common programming interfaces for program access to remote data on IBM SAA compliant systems. The importance of these protocols (which use LU 6.2 protocols for inter-system communication) is that a remote system such as a PC may access IBM host databases and files without having to program the host computer.
Remote data access in the non-IBM world is also becoming standard. The Network File System (NFS(trademark))protocols (developed by Sun Microsystems but placed in the public domain) may be used to access or create files on any system running an NFS server. Novell Corporation is also providing similar services to a wide range of systems with its portable Netware(trademark).
In current data capture systems employing a plurality of remote terminals 12, the application program is run in the centrally disposed host computer 18 for real time control of the remote terminals 12. Placing control in the host computer 18 increases significantly the hardware and software complexity forcing the host computer 18 to run multiple processes. Such application programs residing in the host computer 18 are complicated by the need to assure the concurrent control over shared data. Further, the host computer 18 must be fast enough to service all remote terminals 12 in real time. In such current data capture systems, the host computer 18 must normally validate data entry by the user and must respond to all user input, thus requiring significant amounts of data to be sent back and forth over an RF link between each of the terminals 10 and its host computer 18 as well as increasing the number of data transition session between the host computer 18 and its terminals 12.
The present invention is related to the use of distributed processing concepts in a RF data capture system 10 as generally shown in FIG. 1 and, in particular, to improve the efficiency of such overall systems by improving the speed and efficiency of data transmission over the RF link between each of the terminals 12a, b - - - n and the base radio transceiver 14.
It is therefore an object of this invention to enlarge and extend the range of a system for data collection.
It is a still further object of this invention to provide a new and improved mobile server which may be selectively moved from location to location, whereby data may be gathered from data collecting terminals at each of the locations.
It is a still further object of this invention to provide a new and improved system of distributive processing information stored at a main information center, at one or more remote sites and at an intermediate, mobile server.
It is another object of this invention to provide to employ a flexible wireless communication link or links which permit efficient transmission of data from a remote site to a main information center.
It is a still further object of this invention to provide a flexible wireless communication system which permits efficient radio transmission of data over different ranges to from one or more remote sites to a main information center.
It is another object of this invention to provide a new and improved distributed processing system employing a mobile client/server unit which acts as a server to a computerized data terminal disposed at a remote site and as a client to a server at the main information center.
In accordance with these and other objects of this invention, a system is described for collecting data from at least one remote site and transmitting the collected data to a main information center. The data collecting system has information distributed throughout and is divided into first, second, and third portions. The system includes at least one portable terminal for collecting data at the remote site. The terminal comprises a device for collecting data and a first memory for storing the first information portion. The terminal operates illustratively by a programmed computer to sense the need for information for its use to generate an information call identifying the needed information, and to respond to the information call for searching its first memory for the presence or absence of that needed information. If that needed information is available in the first memory of the terminal, it is supplied for use by the portable terminal.
The data collecting system further comprises a first mobile server to be transported to various locations with respect to the main information center and the remote cite. The first mobile server comprises a second memory for storing the second information portion, and responds to the information call for searching the second memory for presence or absence of that needed information. The data collection system further includes a second server at the main formation center. The second server comprises a third memory for storing the third information portion, and operates as by a programmed computer to search the third memory for the presence or absence of that needed information. A first communication path interconnects the first mobile server and the data collection terminal for transmitting the collected data from the data collection terminal to the first mobile server. The programmed computer of the data collection terminal is responsive to the absence of that needed information within the first memory for transmitting from the calling terminal the information call via the first communication link to the first mobile server. The programmed computer of the first mobile server responds to the receipt of the transmitted information call to search the second memory for the presence therein of the needed information and, if present, for accessing the needed information from the second memory and for transmitting it via the first communication link for use by the calling terminal.
The data collection system further includes a second communication link which interconnects the first mobile server and the second server for transmitting the collected data from the first mobile server to the second server. The programmed computer of the first mobile server responds to the receipt of the transmitted information call from the calling terminal for searching the second memory for that needed information, and if absent, for retransmitting the information call via the second communication link from the first mobile server to the second server. The programmed computer of the second server responds to the receipt of the retransmitted information call from the first mobile server to search the third memory for that needed information and, if present, for accessing and transmitting that needed information via the first and second communication links for use by the calling terminal.
In a further aspect of this invention, the data collecting terminal comprises a first radio having a first transmission range. The first mobile server has a second radio of the first transmission range and a third radio of a second transmission range. The second server has a fourth radio of the second transmission range. The second transmission range is longer than the first range. The second server has a fifth radio of the first transmission range. The second communication link operates alternatively in a first short range mode wherein the second communication means comprises the first radio and the fifth radio when the first mobile server is transported to a location within the first transmission range from the main information center or in second long range mode wherein the second communication link comprises the third and fourth radios when the first mobile server is transported to a location beyond the first range.
In a further aspect of this invention, the first mobile server comprises at least first and second ports. The first communication link is coupled to both of the first and second ports. The programmed computer of the first mobile server periodically transmits through each of the first and second ports a message that the first mobile server is available to receive and to respond to the transmitted information call. The first communication link connects the data collecting terminal to one of the first and second ports. The data collecting terminal responds to the available message for transmitting via the connected one port a response message. The first mobile server senses which connected one port received the most recent response message from the data collecting terminal and transmits back to the data collecting terminal that needed information over the sensed one connected port, regardless of whether the data collecting terminal has been recently been reconnected to a different one of the first and second ports.